#pragma once

#include "cppsaxxmlparser.hpp"
#include <gmock/gmock.h>
	
class MockIXmlListener : public CppSaxXmlParser::IXmlListener
{
public:
	MOCK_METHOD1(onHeaderOpen, void(const CppSaxXmlParser::Parser& parser));
	MOCK_METHOD1(onHeaderClose, void(const CppSaxXmlParser::Parser& parser));
	MOCK_METHOD2(onTagOpen,	void(const CppSaxXmlParser::Parser& parser, const std::wstring& tagName));
	MOCK_METHOD2(onTagClose, void(const CppSaxXmlParser::Parser& parser, const std::wstring& tagName));
	MOCK_METHOD3(onTagText, void(const CppSaxXmlParser::Parser& parser, const std::wstring& tagText, const std::wstring& tagName));
	MOCK_METHOD3(onAttribute, void(const CppSaxXmlParser::Parser& parser, const std::wstring& attributeName, const std::wstring& attributeValue));
	MOCK_METHOD2(onCDATA, void(const CppSaxXmlParser::Parser& parser, const std::wstring& cdata));
};